1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 29 module derelict.purple.savedstatuses; 30 31 import derelict.glib.gtypes; 32 import derelict.glib.glibconfig; 33 import derelict.glib.glist; 34 import derelict.purple.status; 35 import derelict.purple.account; 36 import core.stdc.time; 37 38 extern (C): 39 40 alias _PurpleSavedStatus PurpleSavedStatus; 41 alias _PurpleSavedStatusSub PurpleSavedStatusSub; 42 43 struct _PurpleSavedStatus; 44 45 46 struct _PurpleSavedStatusSub; 47 48 49 version(Derelict_Link_Static) 50 { 51 extern( C ) nothrow 52 { 53 PurpleSavedStatus* purple_savedstatus_new(const(char)* title, PurpleStatusPrimitive type); 54 void purple_savedstatus_set_title(PurpleSavedStatus* status, const(char)* title); 55 void purple_savedstatus_set_type(PurpleSavedStatus* status, PurpleStatusPrimitive type); 56 void purple_savedstatus_set_message(PurpleSavedStatus* status, const(char)* message); 57 void purple_savedstatus_set_substatus(PurpleSavedStatus* status, const(PurpleAccount)* account, const(PurpleStatusType)* type, const(char)* message); 58 void purple_savedstatus_unset_substatus(PurpleSavedStatus* saved_status, const(PurpleAccount)* account); 59 gboolean purple_savedstatus_delete(const(char)* title); 60 void purple_savedstatus_delete_by_status(PurpleSavedStatus* saved_status); 61 GList* purple_savedstatuses_get_all(); 62 GList* purple_savedstatuses_get_popular(uint how_many); 63 PurpleSavedStatus* purple_savedstatus_get_current(); 64 PurpleSavedStatus* purple_savedstatus_get_default(); 65 PurpleSavedStatus* purple_savedstatus_get_idleaway(); 66 gboolean purple_savedstatus_is_idleaway(); 67 void purple_savedstatus_set_idleaway(gboolean idleaway); 68 PurpleSavedStatus* purple_savedstatus_get_startup(); 69 PurpleSavedStatus* purple_savedstatus_find(const(char)* title); 70 PurpleSavedStatus* purple_savedstatus_find_by_creation_time(time_t creation_time); 71 PurpleSavedStatus* purple_savedstatus_find_transient_by_type_and_message(PurpleStatusPrimitive type, const(char)* message); 72 gboolean purple_savedstatus_is_transient(const(PurpleSavedStatus)* saved_status); 73 const(char)* purple_savedstatus_get_title(const(PurpleSavedStatus)* saved_status); 74 PurpleStatusPrimitive purple_savedstatus_get_type(const(PurpleSavedStatus)* saved_status); 75 const(char)* purple_savedstatus_get_message(const(PurpleSavedStatus)* saved_status); 76 time_t purple_savedstatus_get_creation_time(const(PurpleSavedStatus)* saved_status); 77 gboolean purple_savedstatus_has_substatuses(const(PurpleSavedStatus)* saved_status); 78 PurpleSavedStatusSub* purple_savedstatus_get_substatus(const(PurpleSavedStatus)* saved_status, const(PurpleAccount)* account); 79 const(PurpleStatusType)* purple_savedstatus_substatus_get_type(const(PurpleSavedStatusSub)* substatus); 80 const(char)* purple_savedstatus_substatus_get_message(const(PurpleSavedStatusSub)* substatus); 81 void purple_savedstatus_activate(PurpleSavedStatus* saved_status); 82 void purple_savedstatus_activate_for_account(const(PurpleSavedStatus)* saved_status, PurpleAccount* account); 83 void* purple_savedstatuses_get_handle(); 84 void purple_savedstatuses_init(); 85 void purple_savedstatuses_uninit(); 86 } 87 } 88 else 89 { 90 extern( C ) nothrow 91 { 92 alias da_purple_savedstatus_new = PurpleSavedStatus* function(const(char)* title, PurpleStatusPrimitive type); 93 alias da_purple_savedstatus_set_title = void function(PurpleSavedStatus* status, const(char)* title); 94 alias da_purple_savedstatus_set_type = void function(PurpleSavedStatus* status, PurpleStatusPrimitive type); 95 alias da_purple_savedstatus_set_message = void function(PurpleSavedStatus* status, const(char)* message); 96 alias da_purple_savedstatus_set_substatus = void function(PurpleSavedStatus* status, const(PurpleAccount)* account, const(PurpleStatusType)* type, const(char)* message); 97 alias da_purple_savedstatus_unset_substatus = void function(PurpleSavedStatus* saved_status, const(PurpleAccount)* account); 98 alias da_purple_savedstatus_delete = gboolean function(const(char)* title); 99 alias da_purple_savedstatus_delete_by_status = void function(PurpleSavedStatus* saved_status); 100 alias da_purple_savedstatuses_get_all = GList* function(); 101 alias da_purple_savedstatuses_get_popular = GList* function(uint how_many); 102 alias da_purple_savedstatus_get_current = PurpleSavedStatus* function(); 103 alias da_purple_savedstatus_get_default = PurpleSavedStatus* function(); 104 alias da_purple_savedstatus_get_idleaway = PurpleSavedStatus* function(); 105 alias da_purple_savedstatus_is_idleaway = gboolean function(); 106 alias da_purple_savedstatus_set_idleaway = void function(gboolean idleaway); 107 alias da_purple_savedstatus_get_startup = PurpleSavedStatus* function(); 108 alias da_purple_savedstatus_find = PurpleSavedStatus* function(const(char)* title); 109 alias da_purple_savedstatus_find_by_creation_time = PurpleSavedStatus* function(time_t creation_time); 110 alias da_purple_savedstatus_find_transient_by_type_and_message = PurpleSavedStatus* function(PurpleStatusPrimitive type, const(char)* message); 111 alias da_purple_savedstatus_is_transient = gboolean function(const(PurpleSavedStatus)* saved_status); 112 alias da_purple_savedstatus_get_title = const(char)* function(const(PurpleSavedStatus)* saved_status); 113 alias da_purple_savedstatus_get_type = PurpleStatusPrimitive function(const(PurpleSavedStatus)* saved_status); 114 alias da_purple_savedstatus_get_message = const(char)* function(const(PurpleSavedStatus)* saved_status); 115 alias da_purple_savedstatus_get_creation_time = time_t function(const(PurpleSavedStatus)* saved_status); 116 alias da_purple_savedstatus_has_substatuses = gboolean function(const(PurpleSavedStatus)* saved_status); 117 alias da_purple_savedstatus_get_substatus = PurpleSavedStatusSub* function(const(PurpleSavedStatus)* saved_status, const(PurpleAccount)* account); 118 alias da_purple_savedstatus_substatus_get_type = const(PurpleStatusType)* function(const(PurpleSavedStatusSub)* substatus); 119 alias da_purple_savedstatus_substatus_get_message = const(char)* function(const(PurpleSavedStatusSub)* substatus); 120 alias da_purple_savedstatus_activate = void function(PurpleSavedStatus* saved_status); 121 alias da_purple_savedstatus_activate_for_account = void function(const(PurpleSavedStatus)* saved_status, PurpleAccount* account); 122 alias da_purple_savedstatuses_get_handle = void* function(); 123 alias da_purple_savedstatuses_init = void function(); 124 alias da_purple_savedstatuses_uninit = void function(); 125 } 126 127 __gshared 128 { 129 da_purple_savedstatus_new purple_savedstatus_new; 130 da_purple_savedstatus_set_title purple_savedstatus_set_title; 131 da_purple_savedstatus_set_type purple_savedstatus_set_type; 132 da_purple_savedstatus_set_message purple_savedstatus_set_message; 133 da_purple_savedstatus_set_substatus purple_savedstatus_set_substatus; 134 da_purple_savedstatus_unset_substatus purple_savedstatus_unset_substatus; 135 da_purple_savedstatus_delete purple_savedstatus_delete; 136 da_purple_savedstatus_delete_by_status purple_savedstatus_delete_by_status; 137 da_purple_savedstatuses_get_all purple_savedstatuses_get_all; 138 da_purple_savedstatuses_get_popular purple_savedstatuses_get_popular; 139 da_purple_savedstatus_get_current purple_savedstatus_get_current; 140 da_purple_savedstatus_get_default purple_savedstatus_get_default; 141 da_purple_savedstatus_get_idleaway purple_savedstatus_get_idleaway; 142 da_purple_savedstatus_is_idleaway purple_savedstatus_is_idleaway; 143 da_purple_savedstatus_set_idleaway purple_savedstatus_set_idleaway; 144 da_purple_savedstatus_get_startup purple_savedstatus_get_startup; 145 da_purple_savedstatus_find purple_savedstatus_find; 146 da_purple_savedstatus_find_by_creation_time purple_savedstatus_find_by_creation_time; 147 da_purple_savedstatus_find_transient_by_type_and_message purple_savedstatus_find_transient_by_type_and_message; 148 da_purple_savedstatus_is_transient purple_savedstatus_is_transient; 149 da_purple_savedstatus_get_title purple_savedstatus_get_title; 150 da_purple_savedstatus_get_type purple_savedstatus_get_type; 151 da_purple_savedstatus_get_message purple_savedstatus_get_message; 152 da_purple_savedstatus_get_creation_time purple_savedstatus_get_creation_time; 153 da_purple_savedstatus_has_substatuses purple_savedstatus_has_substatuses; 154 da_purple_savedstatus_get_substatus purple_savedstatus_get_substatus; 155 da_purple_savedstatus_substatus_get_type purple_savedstatus_substatus_get_type; 156 da_purple_savedstatus_substatus_get_message purple_savedstatus_substatus_get_message; 157 da_purple_savedstatus_activate purple_savedstatus_activate; 158 da_purple_savedstatus_activate_for_account purple_savedstatus_activate_for_account; 159 da_purple_savedstatuses_get_handle purple_savedstatuses_get_handle; 160 da_purple_savedstatuses_init purple_savedstatuses_init; 161 da_purple_savedstatuses_uninit purple_savedstatuses_uninit; 162 } 163 }